#ifndef __INPUT_H_
#define __INPUT_H_

// information about input file
typedef struct {
    const char *fileName;   // 文件地址
    char *base;             // 读入的输入文件在内存中的起始位置
    const char *cursor;     // 当前的读取位置
    const char *lineHead;   // 当前位置的行首
    int   line;             // 当前位置的行数
    void *file;             // 文件句柄(fopen() / CreateFileA() / open())
    int   size;             // 文件大小
} SourceInput;

extern SourceInput Input;

void ReadSourceFile(const char *fileName);
void ReadMemory(const char *src, int len);
void CloseSourceFile(void);

#endif
